home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / util / virus / xvslibrary.lha / Xvs / Developer / include / Asm / xvs.i < prev   
Text File  |  1999-04-26  |  5KB  |  146 lines

  1.     IFND    LIBRARIES_XVS_I
  2. LIBRARIES_XVS_I    SET    1
  3.  
  4. **
  5. **    $VER: xvs.i 33.15 (22.12.98)
  6. **
  7. **    Copyright © 1997/98 by Georg Hörmann
  8. **    All Rights Reserved
  9. **
  10.  
  11.     IFND EXEC_LIBRARIES_I
  12.     include "exec/libraries.i"
  13.     include "exec/lists.i"
  14.     ENDC
  15.  
  16. ;======================================================================
  17. ; Library Base
  18. ;======================================================================
  19.  
  20.     STRUCTURE    xvsBase,LIB_SIZE
  21.     UWORD    xvs_Reserved0        ; PRIVATE
  22.     ULONG    xvs_SegList        ; PRIVATE
  23.     APTR    xvs_DosBase        ; may be used by application
  24.     APTR    xvs_ExecBase        ; cached for fast access
  25.     APTR    xvs_IntBase        ; PRIVATE
  26.     APTR    xvs_TrackBase        ; PRIVATE
  27.     APTR    xvs_RamLibBase        ; PRIVATE
  28.     LABEL    xvsBase_SIZE
  29.  
  30. XVS_VERSION    equ    33    ;for OpenLibrary()
  31.  
  32. XVS_NAME    MACRO
  33.         dc.b    "xvs.library",0
  34.         ENDM
  35.  
  36. ;======================================================================
  37. ; Virus List
  38. ;======================================================================
  39.  
  40.     STRUCTURE    xvsVirusList,LH_SIZE
  41.     UWORD    xvsvl_Count        ; amount of entries
  42.     LABEL    xvsVirusList_SIZE
  43.  
  44. ; values for xvsVirusList->LH_TYPE and xvsCreateVirusList()
  45.  
  46. XVSLIST_BOOTVIRUSES    equ    $42
  47. XVSLIST_FILEVIRUSES    equ    $46
  48. XVSLIST_LINKVIRUSES    equ    $4c
  49.  
  50. ;======================================================================
  51. ; Object Types
  52. ;======================================================================
  53.  
  54. XVSOBJ_BOOTINFO        equ    1    ; xvsBootInfo structure
  55. XVSOBJ_SECTORINFO    equ    2    ; xvsSectorInfo structure
  56. XVSOBJ_FILEINFO        equ    3    ; xvsFileInfo structure
  57. XVSOBJ_MEMORYINFO    equ    4    ; xvsMemoryInfo structure
  58. XVSOBJ_MAX        equ    4    ; PRIVATE
  59.  
  60. ;======================================================================
  61. ; Bootblock Info
  62. ;======================================================================
  63.  
  64.     STRUCTURE    xvsBootInfo,0
  65.     APTR    xvsbi_Bootblock        ; buffer holding bootblock
  66.     APTR    xvsbi_Name        ; description of bootblock
  67.     UBYTE    xvsbi_BootType        ; type of bootblock
  68.     UBYTE    xvsbi_DosType        ; dos type (eg. DOS0 -> 0)
  69.     UBYTE    xvsbi_ChkSumFlag    ; TRUE if checksum correct
  70.     UBYTE    xvsbi_Reserved0        ; PRIVATE
  71.     LABEL    xvsBootInfo_SIZE
  72.  
  73. ; values for xvsBootInfo->xvsbi_BootType and xvsInstallBootblock()
  74.  
  75. XVSBT_UNKNOWN        equ    0    ; Unknown bootblock
  76. XVSBT_NOTDOS        equ    1    ; Not a DOS bootblock
  77. XVSBT_STANDARD13    equ    2    ; Standard bootblock (1.3)
  78. XVSBT_STANDARD20    equ    3    ; Standard bootblock (2.0)
  79. XVSBT_VIRUS        equ    4    ; xvsbi_Name = virus name
  80. XVSBT_UNINSTALLED    equ    5    ; ONLY xvsInstallBootblock()
  81.  
  82. ;======================================================================
  83. ; Sector Info
  84. ;======================================================================
  85.  
  86.     STRUCTURE    xvsSectorInfo,0
  87.     APTR    xvssi_Sector        ; buffer holding sector
  88.     ULONG    xvssi_Key        ; sector number
  89.     APTR    xvssi_Name        ; description of sector
  90.     UBYTE    xvssi_SectorType    ; type of sector
  91.     UBYTE    xvssi_InternalType    ; PRIVATE
  92.     LABEL    xvsSectorInfo_SIZE
  93.  
  94. ; values for xvsSectorInfo->xvssi_SectorType
  95.  
  96. XVSST_UNKNOWN        equ    0    ; Unknown sector
  97. XVSST_DESTROYED        equ    1    ; xvssi_Name = virus name
  98. XVSST_INFECTED        equ    2    ; xvssi_Name = virus name
  99.  
  100. ;======================================================================
  101. ; File Info
  102. ;======================================================================
  103.  
  104.     STRUCTURE    xvsFileInfo,0
  105.     APTR    xvsfi_File        ; buffer holding whole file
  106.     ULONG    xvsfi_FileLen        ; length of file
  107.     APTR    xvsfi_Name        ; description of file
  108.     UBYTE    xvsfi_FileType        ; type of file
  109.     UBYTE    xvsfi_ModifiedFlag    ; TRUE if file was modified
  110.     UBYTE    xvsfi_ErrorCode        ; only for xvsRepairFile()
  111.     UBYTE    xvsfi_InternalType    ; PRIVATE
  112.     APTR    xvsfi_Fixed        ; start of fixed file
  113.     ULONG    xvsfi_FixedLen        ; length of fixed file
  114.     LABEL    xvsFileInfo_SIZE
  115.  
  116. ; values for xvsFileInfo->xvsfi_FileType
  117.  
  118. XVSFT_EMPTYFILE        equ    1    ; Empty file
  119. XVSFT_DATAFILE        equ    2    ; Data file
  120. XVSFT_EXEFILE        equ    3    ; Executable file
  121. XVSFT_DATAVIRUS        equ    4    ; xvsfi_Name = virus name
  122. XVSFT_FILEVIRUS        equ    5    ; xvsfi_Name = virus name
  123. XVSFT_LINKVIRUS        equ    6    ; xvsfi_Name = virus name
  124.  
  125. ; values for xvsFileInfo->xvsfi_ErrorCode
  126.  
  127. XVSERR_WRONGFILETYPE    equ    1    ; Wrong type of file
  128. XVSERR_FILETRUNCATED    equ    2    ; File truncated
  129. XVSERR_UNSUPPORTEDHUNK    equ    3    ; Unsupported hunk
  130. XVSERR_UNEXPECTEDDATA    equ    4    ; Unexpected data
  131. XVSERR_OUTOFMEMORY    equ    5    ; Out of memory
  132. XVSERR_NOTIMPLEMENTED    equ    6    ; (V33.15) Not implemented yet
  133.  
  134. ;======================================================================
  135. ; Memory Info
  136. ;======================================================================
  137.  
  138.     STRUCTURE    xvsMemoryInfo,0
  139.     UWORD    xvsmi_Count        ; amount of detected viruses
  140.     UWORD    xvsmi_Reserved0        ; PRIVATE
  141.     STRUCT    xvsmi_NameArray,5*4    ; names of viruses
  142.     LABEL    xvsMemoryInfo_SIZE
  143.  
  144.  
  145.     ENDC    ; LIBRARIES_XVS_I
  146.